Most computer systems (PCs) have a motherboard with a plurality of memory slots. A dynamic random access memory (DRAM), usually in the form of a single inline memory module (SIMM), can be placed into each slot to increase the memory capacity of the PC.
For example, a typical PC has four memory slots on the motherboard. Assume that each slot is filled with an 8-megabyte SIMM. Thus, the PC has a total of 32 megabytes of main memory. Alternatively, the slots could be filled with 16-megabyte SIMMs, for a total of 64 megabytes of main memory.
When turned on, a PC performs a power on self test (POST) controlled by its basic input/output system (BIOS). By performing this test, the PC can determine certain characteristics of its installed SIMMS, such as memory density. In addition, the PC tests the memory on its motherboard by writing data to memory and then reading the data to verify the memory's contents.
Recently, new storage devices called dual inline memory modules (DIMMs) have been developed. DIMMs may use synchronous dynamic random access memory (SDRAM) instead of DRAM. SDRAM, unlike DRAM, has a digital interface that controls the memory. The digital interface receives commands and then internally converts the commands into memory access cycles.
SDRAM must be initialized before it can be accessed. The BIOS, however, cannot determine whether a DIMM contains DRAM or SDRAM using standard detection algorithms. Furthermore, the BIOS cannot perform a blanket SDRAM initialization on system memory because it might violate the timing on a DRAM DIMM. Accordingly, the PC cannot easily determine the characteristics of its installed memory.
To avoid the above-described problem, DIMMs have a presence detect enable (PDEN) pin. When the PDEN pin is activated, the DIMM drives a plurality of presence detect (PD) pins with a hardwired signal indicating the characteristics of the DIMM. This signal can be latched and stored by the PC.
The PD pins, however, are likely to be multiplexed with the memory data bus or other signals in the PC. If the PDEN pin is also multiplexed, then the PDEN pin might drive the PD pins while other data was on the memory data bus. Such a situation would corrupt the data on the memory data bus.
The PC, therefore, must have individual single function pins that activate the PDEN pins on each DIMM. Unfortunately, the number of pins available on a memory or integrated controller is extremely limited by PC design constraints. Therefore, individual single function pins cannot be spared to drive the PDEN pins.
Accordingly, there is a need for a way to determine the characteristics of memory installed in a PC supporting SDRAM DIMMs. More specifically, there is a need for a way to drive a DIMM's PDEN pin without requiring the use of a individual single function pin in the memory controller.